export default function (module, __webpack_exports__, __webpack_require__) {

    "use strict";
    // ESM COMPAT FLAG
    __webpack_require__.r(__webpack_exports__);

    // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
    // This file is imported into lib/wc client bundles.

    if (typeof window !== 'undefined') {
        var currentScript = window.document.currentScript
        if (true) {
            var getCurrentScript = __webpack_require__("8875")
            currentScript = getCurrentScript()

            // for backward compatibility, because previously we directly included the polyfill
            if (!('currentScript' in document)) {
                Object.defineProperty(document, 'currentScript', { get: getCurrentScript })
            }
        }

        var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/)
        if (src) {
            __webpack_require__.p = src[1] // eslint-disable-line
        }
    }

// Indicate to webpack that this file can be concatenated
/* harmony default export */ var setPublicPath = (null);

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.for-each.js
    var es_array_for_each = __webpack_require__("4160");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js
    var es_function_name = __webpack_require__("b0c0");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js
    var web_dom_collections_for_each = __webpack_require__("159b");

    // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"036ba3b4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/source/wallmap.vue?vue&type=template&id=5c647229&scoped=true&
    var render = function () { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; return _c('div', { staticClass: "earth" }, [_c('div', { attrs: { "id": "wallmapway" } }), _c('div', { attrs: { "id": "pop" } }, [_c('div', { staticClass: "popClose", on: { "click": _vm.close } }, [_vm._v("x")]), _c('div', { staticClass: "sj" }), _c('div', { domProps: { "innerHTML": _vm._s(_vm.popContent) } })])]) }
    var staticRenderFns = []


    // CONCATENATED MODULE: ./src/source/wallmap.vue?vue&type=template&id=5c647229&scoped=true&

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js
    var es_number_constructor = __webpack_require__("a9e3");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js
    var es_object_to_string = __webpack_require__("d3b7");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js
    var es_promise = __webpack_require__("e6cf");

    // EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js
    var runtime = __webpack_require__("96cf");

    // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js



    function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
        try {
            var info = gen[key](arg);
            var value = info.value;
        } catch (error) {
            reject(error);
            return;
        }

        if (info.done) {
            resolve(value);
        } else {
            Promise.resolve(value).then(_next, _throw);
        }
    }

    function _asyncToGenerator(fn) {
        return function () {
            var self = this,
                args = arguments;
            return new Promise(function (resolve, reject) {
                var gen = fn.apply(self, args);

                function _next(value) {
                    asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
                }

                function _throw(err) {
                    asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
                }

                _next(undefined);
            });
        };
    }
    // CONCATENATED MODULE: ./src/source/public.js
    // 公共变量
    var baseMapList = [// 地图底图数组
        new Cesium.WebMapTileServiceImageryProvider({
            url: "http://t0.tianditu.gov.cn/vec_w/wmts?tk=1d109683f4d84198e37a38c442d68311",
            layer: "vec",
            style: "default",
            tileMatrixSetID: "w",
            format: "tiles",
            maximumLevel: 18
        }), new Cesium.UrlTemplateImageryProvider({
            // 内网-自定义
            url: "http://192.168.1.220:5173/basemap/{z}/{x}/{reverseY}.png",
            style: "default",
            format: "image/png"
        }), new Cesium.UrlTemplateImageryProvider({
            // 内网-自定义影像
            url: "http://10.0.0.115:6080/test/rest/services/vector/MapServer/tile/{z}/{y}/{x}",
            style: "default",
            format: "image/png"
        })];

    // EXTERNAL MODULE: ./src/privateApi/index.js
    var privateApi = __webpack_require__("94f7");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.repeat.js
    var es_string_repeat = __webpack_require__("38cf");

    // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules
    var toConsumableArray = __webpack_require__("2909");

    // EXTERNAL MODULE: ./node_modules/echarts/index.js
    var echarts = __webpack_require__("313e");
    var echarts_default = /*#__PURE__*/__webpack_require__.n(echarts);

    // EXTERNAL MODULE: ./node_modules/@tweenjs/tween.js/dist/tween.esm.js
    var tween_esm = __webpack_require__("22b5");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
    var es_array_concat = __webpack_require__("99af");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js
    var es_array_iterator = __webpack_require__("e260");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.float64-array.js
    var es_typed_array_float64_array = __webpack_require__("4a9b");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.uint16-array.js
    var es_typed_array_uint16_array = __webpack_require__("84c3");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.copy-within.js
    var es_typed_array_copy_within = __webpack_require__("9a8c");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.every.js
    var es_typed_array_every = __webpack_require__("a975");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.fill.js
    var es_typed_array_fill = __webpack_require__("735e");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.filter.js
    var es_typed_array_filter = __webpack_require__("c1ac");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find.js
    var es_typed_array_find = __webpack_require__("d139");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find-index.js
    var es_typed_array_find_index = __webpack_require__("3a7b");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.for-each.js
    var es_typed_array_for_each = __webpack_require__("d5d6");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.includes.js
    var es_typed_array_includes = __webpack_require__("82f8");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.index-of.js
    var es_typed_array_index_of = __webpack_require__("e91f");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.iterator.js
    var es_typed_array_iterator = __webpack_require__("60bd");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.join.js
    var es_typed_array_join = __webpack_require__("5f96");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.last-index-of.js
    var es_typed_array_last_index_of = __webpack_require__("3280");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.map.js
    var es_typed_array_map = __webpack_require__("3fcc");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce.js
    var es_typed_array_reduce = __webpack_require__("ca91");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce-right.js
    var es_typed_array_reduce_right = __webpack_require__("25a1");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reverse.js
    var es_typed_array_reverse = __webpack_require__("cd26");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.set.js
    var es_typed_array_set = __webpack_require__("3c5d");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.slice.js
    var es_typed_array_slice = __webpack_require__("2954");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.some.js
    var es_typed_array_some = __webpack_require__("649e");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.sort.js
    var es_typed_array_sort = __webpack_require__("219c");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.subarray.js
    var es_typed_array_subarray = __webpack_require__("170b");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-locale-string.js
    var es_typed_array_to_locale_string = __webpack_require__("b39a");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-string.js
    var es_typed_array_to_string = __webpack_require__("72f7");

    // CONCATENATED MODULE: ./src/mixinApi/TetrahedronPrimitive.js





























    /*
    * @Author: gjw
    * @Date: 2020-05-23 13:58:53
    * @LastEditTime: 2020-06-30 19:28:04
    * @LastEditors: Please set LastEditors
    * @Description: In User Settings Edit
    * @FilePath: \dtglobesdk\Source\DTSDKTests\DTPyramid\TetrahedronGeometry .js
    */
    function TetrahedronPrimitive(options) {
        this.show = true;
        this._colorList = options.colorList || [0.0, 1.0, 1.0];
        this._command = undefined;
        this._enuMatrix = undefined;
        this._scaleMatrix = undefined;
        this._localPosition = options.position; //点位置

        this._createCommand = createCommand;
        this._angle = 0;
        this._distance = Cesium.defaultValue(options.distance, 1);
        this._viewer = options.viewer;
        this._speed = Cesium.defaultValue(options.speed, 3.14); //旋转速度

        this._scale = Cesium.defaultValue(options.scale, new Cesium.Cartesian3(10, 10, 15)); //缩放

        this._modelMatrix = computeModelMatrix(this);
        this._height = computeHeight(this);
        this._type = options.type || 'TRIANGLES'; //绘制图元类型LINES和TRIANGLES默认RIANGLES

        this.startAnimate();
    }

    TetrahedronPrimitive.prototype.update = function (frameState) {
        if (!this.show) {
            return;
        }

        if (!Cesium.defined(this._command)) {
            this._command = this._createCommand(frameState.context, this);
            this._command.pickId = 'v_pickColor';
        }

        if (Cesium.defined(this._command)) {
            frameState.commandList.push(this._command);
        }
    };

    TetrahedronPrimitive.prototype.isDestroyed = function () {
        return false;
    };

    TetrahedronPrimitive.prototype.destroy = function () {
        if (Cesium.defined(this._command)) {
            this._command.shaderProgram = this._command.shaderProgram && this._command.shaderProgram.destroy();
        } // return destroyObject(this);

    }; //开启动画


    TetrahedronPrimitive.prototype.startAnimate = function () {
        var that = this;

        that._viewer.scene.preUpdate.addEventListener(function () {
            that._angle = that._angle + 0.03;
            Math.sin(that._angle) > 0 ? that._height = 0.03 : that._height = -0.03;
            var translation = new Cesium.Cartesian3(0, 0, that._height);
            Cesium.Matrix4.multiplyByTranslation(that._modelMatrix, translation, that._modelMatrix);
            var rotationZ = Cesium.Matrix4.fromRotationTranslation(Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(that._speed)));
            Cesium.Matrix4.multiply(that._modelMatrix, rotationZ, that._modelMatrix);
        });
    }; //创建command


    function createCommand(context, tetrahedronPrimitive) {
        var that = this;
        var translucent = false;
        var closed = true;
        var vs = creaateVertexShader();
        var fs = createFragmentShader(tetrahedronPrimitive._type, tetrahedronPrimitive._colorList); // 借用一下Appearance.getDefaultRenderState

        var rawRenderState = Cesium.Appearance.getDefaultRenderState(translucent, closed, undefined);
        var renderState = Cesium.RenderState.fromCache(rawRenderState);
        var vertexShaderSource = new Cesium.ShaderSource({
            sources: [vs]
        });
        var fragmentShaderSource = new Cesium.ShaderSource({
            sources: [fs]
        });
        var uniformMap = {};
        var attributeLocations = {
            position: 0,
            textureCoordinates: 1
        };
        var shaderProgram = Cesium.ShaderProgram.fromCache({
            context: context,
            vertexShaderSource: vertexShaderSource,
            fragmentShaderSource: fragmentShaderSource,
            attributeLocations: attributeLocations
        });
        return new Cesium.DrawCommand({
            vertexArray: createVertexArray(context, tetrahedronPrimitive),
            primitiveType: tetrahedronPrimitive._type == 'TRIANGLES' ? Cesium.PrimitiveType.TRIANGLES : Cesium.PrimitiveType.LINES,
            renderState: renderState,
            shaderProgram: shaderProgram,
            uniformMap: uniformMap,
            owner: this,
            pass: Cesium.Pass.TRANSLUCENT,
            modelMatrix: tetrahedronPrimitive._modelMatrix
        });
    } //创建vertexArray


    function createVertexArray(context, tetrahedronPrimitive) {
        var attributeLocations = {
            position: 0,
            textureCoordinates: 1
        };
        var positionsAndIndice = cereatePositionsAndIndice(tetrahedronPrimitive);
        var geometry = new Cesium.Geometry({
            attributes: {
                position: new Cesium.GeometryAttribute({
                    // 使用double类型的position进行计算
                    // componentDatatype : Cesium.Cesium.ComponentDatatype.DOUBLE,
                    componentDatatype: Cesium.ComponentDatatype.FLOAT,
                    componentsPerAttribute: 3,
                    values: positionsAndIndice.positions
                })
            },
            // Workaround Internet Explorer 11.0.8 lack of TRIANGLE_FAN
            indices: positionsAndIndice.indices,
            primitiveType: tetrahedronPrimitive._type == 'TRIANGLES' ? Cesium.PrimitiveType.TRIANGLES : Cesium.PrimitiveType.LINES,
            boundingSphere: Cesium.BoundingSphere.fromVertices(positionsAndIndice.positions)
        }); //计算geometry的法向量

        var geometryNormal = new Cesium.GeometryPipeline.computeNormal(geometry);
        var vertexArray = Cesium.VertexArray.fromGeometry({
            context: context,
            geometry: geometryNormal,
            attributeLocations: attributeLocations,
            bufferUsage: Cesium.BufferUsage.STATIC_DRAW
        });
        return vertexArray;
    } //创建顶点数组与索引


    function cereatePositionsAndIndice(tetrahedronPrimitive) {
        var positions = new Float64Array(6 * 3); // position 0

        positions[0] = 0.0;
        positions[1] = 1.0;
        positions[2] = 0.0; // position 1

        positions[3] = -1.0;
        positions[4] = 0.0;
        positions[5] = 0.0; // position 2

        positions[6] = 0.0;
        positions[7] = -1.0;
        positions[8] = 0.0; // position 3

        positions[9] = 1.0;
        positions[10] = 0.0;
        positions[11] = 0.0; // position 4

        positions[12] = 0.0;
        positions[13] = 0.0;
        positions[14] = -1.0; // position 5

        positions[15] = 0.0;
        positions[16] = 0.0;
        positions[17] = 1.0;
        var indices;

        if (tetrahedronPrimitive._type == 'TRIANGLES') {
            indices = new Uint16Array(10 * 3); // back triangle

            indices[0] = 4;
            indices[1] = 2;
            indices[2] = 3; // left triangle

            indices[3] = 4;
            indices[4] = 3;
            indices[5] = 0; // right triangle

            indices[6] = 4;
            indices[7] = 0;
            indices[8] = 1; // bottom triangle

            indices[9] = 4;
            indices[10] = 1;
            indices[11] = 2; // bottom triangle

            indices[12] = 1;
            indices[13] = 2;
            indices[14] = 3; // bottom triangle

            indices[15] = 1;
            indices[16] = 3;
            indices[17] = 0; // bottom triangle

            indices[18] = 5;
            indices[19] = 2;
            indices[20] = 3; // bottom triangle

            indices[21] = 5;
            indices[22] = 3;
            indices[23] = 0; // bottom triangle

            indices[24] = 5;
            indices[25] = 0;
            indices[26] = 1; // bottom triangle

            indices[27] = 5;
            indices[28] = 1;
            indices[29] = 2;
        } else {
            indices = new Uint16Array(12 * 3);
            indices[0] = 0;
            indices[1] = 1;
            indices[2] = 0;
            indices[3] = 1;
            indices[4] = 2;
            indices[5] = 1;
            indices[6] = 2;
            indices[7] = 3;
            indices[8] = 2;
            indices[9] = 3;
            indices[10] = 0;
            indices[11] = 3;
            indices[12] = 0;
            indices[13] = 4;
            indices[14] = 0;
            indices[15] = 1;
            indices[16] = 4;
            indices[17] = 1;
            indices[18] = 2;
            indices[19] = 4;
            indices[20] = 2;
            indices[21] = 3;
            indices[22] = 4;
            indices[23] = 3;
            indices[24] = 1;
            indices[25] = 5;
            indices[26] = 1;
            indices[27] = 2;
            indices[28] = 5;
            indices[29] = 2;
            indices[30] = 0;
            indices[31] = 5;
            indices[32] = 0;
            indices[33] = 3;
            indices[34] = 5;
            indices[35] = 3;
        }

        return {
            indices: indices,
            positions: positions
        };
    } //创建顶点着色器


    function creaateVertexShader() {
        var vertexShader = "\n    attribute vec3 position;\n    attribute vec3 normal;\n    attribute vec2 st;\n    attribute float batchId;\n    varying vec3 v_positionEC;\n    varying vec3 v_normalEC;\n    varying vec2 v_st;\n    void main()\n    {\n        v_positionEC = (czm_modelView * vec4(position, 1.0)).xyz;       // position in eye coordinates\n        v_normalEC = czm_normal * normal;                               // normal in eye coordinates\n        v_st = st;\n        gl_Position = czm_modelViewProjection * vec4(position, 1.0);\n    }\n    ";
        return vertexShader;
    } //创建片源着色器


    function createFragmentShader(type, colorList) {
        var str = '';

        if (type == 'TRIANGLES') {
            str = "gl_FragColor = vec4(".concat(colorList[0], ", ").concat(colorList[1], ", ").concat(colorList[2], ", 0.5);");
        } else {
            str = "gl_FragColor = vec4(".concat(colorList[0], ", ").concat(colorList[1], ", ").concat(colorList[2], ", 1);");
        }

        var fragmentShader = "\n    varying vec3 v_positionEC;\n    varying vec3 v_normalEC;\n    varying vec2 v_st;\n    void main()\n    {\n        ".concat(str, "\n    }\n    ");
        return fragmentShader;
    } //计算矩阵


    function computeModelMatrix(tetrahedronPrimitive) {
        var enuMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(tetrahedronPrimitive._localPosition);
        var scaleMatrix = Cesium.Matrix4.fromScale(tetrahedronPrimitive._scale);
        var modelMatrix = Cesium.Matrix4.multiply(enuMatrix, scaleMatrix, new Cesium.Matrix4());
        tetrahedronPrimitive._scaleMatrix = scaleMatrix;
        tetrahedronPrimitive._enuMatrix = enuMatrix;
        return modelMatrix;
    } //计算高度


    function computeHeight(tetrahedronPrimitive) {
        var point = Cesium.Cartesian3.fromElements(0, 0, tetrahedronPrimitive._distance, new Cesium.Cartesian3());
        var enuPoint = Cesium.Matrix4.multiplyByPoint(tetrahedronPrimitive._enuMatrix, point, new Cesium.Cartesian3());
        var upPositionEC = Cesium.Matrix4.multiplyByPoint(tetrahedronPrimitive._viewer.scene.camera._viewMatrix, enuPoint, new Cesium.Cartesian3());
        var upPositionPC = Cesium.Matrix4.multiplyByPoint(tetrahedronPrimitive._viewer.scene.camera.frustum.projectionMatrix, upPositionEC, new Cesium.Cartesian3());
        return Cesium.Cartesian3.normalize(upPositionPC, new Cesium.Cartesian3()).z * 0.3;
    }

/* harmony default export */ var mixinApi_TetrahedronPrimitive = (TetrahedronPrimitive);
// CONCATENATED MODULE: ./src/mixinApi/point.js







/**
* 地图打点api
*/


// 添加动态棱形点


/* harmony default export */ var point = ({
        mounted: function mounted() {
            function animate() {
                window.requestAnimationFrame(animate);
                tween_esm["a" /* default */].update();
            }

            animate();
        },
        methods: {
            /**
            * 初始化闪烁场景
            * @param {Number} lon 经度
            * @param {Number} lat 纬度
            */
            addInitScene: function addInitScene(lon, lat) {
                return new Promise(function (resolve, reject) {
                    var entity;
                    var imgUrl = "./img/star.png";
                    var start = 0.2;
                    var end = 1;
                    var tweenScale = start;
                    var tween1 = new tween_esm["a" /* default */].Tween({
                        num: start
                    });
                    tween1.to({
                        num: end
                    }, 500).onUpdate(function (pos) {
                        tweenScale = pos.num;
                    });
                    var tween2 = new tween_esm["a" /* default */].Tween({
                        num: end
                    });
                    tween2.to({
                        num: start
                    }, 500).onUpdate(function (pos) {
                        tweenScale = pos.num;
                    }).onComplete(function () {
                        if (entity) {
                            viewer.entities.remove(entity);
                        }

                        resolve();
                    });
                    tween1.chain(tween2).start();
                    var scale = new Cesium.CallbackProperty(function () {
                        return tweenScale;
                    });
                    entity = viewer.entities.add({
                        position: Cesium.Cartesian3.fromDegrees(lon, lat),
                        billboard: {
                            image: imgUrl,
                            scale: scale
                        }
                    });
                });
            },

            /**
            * 添加放大缩小点
            * @param {Number} lon 经度 必填
            * @param {Number} lat 纬度 必填
            * @param {String} imgUrl 图片路径 必填
            * @param {Object} option 配置对象 可选
            * @return entity
            */
            addPointtween: function addPointtween(lon, lat, imgUrl) {
                var option = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
                var scale = {
                    num: 0.5
                };
                var tweenScale = 0.5;
                var tween = new tween_esm["a" /* default */].Tween(scale);
                tween.to({
                    num: 1
                }, 1000).onUpdate(function (pos) {
                    tweenScale = pos.num;
                }).start().repeat(Infinity);
                var scaleProperty = new Cesium.CallbackProperty(function () {
                    return tweenScale;
                });
                option.scale = scaleProperty;

                var entity = Object(privateApi["a" /* addBillboard */])(lon, lat, imgUrl, option);

                return entity;
            },

            /**
            * 添加点（图片）
            * @param {Number} lon 经度 必填
            * @param {Number} lat 纬度 必填
            * @param {String} imgUrl 图片路径 必填
            * @param {Object} option 配置对象 可选
            * @return entity
            */
            addBillboard: function addBillboard(lon, lat, imgUrl) {
                var option = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};

                var entity = Object(privateApi["a" /* addBillboard */])(lon, lat, imgUrl, option);

                return entity;
            },

            /**
            *
            * @param {Number} lon 经度 必填
            * @param {Number} lat 纬度 必填
            * @param {Object} option 配置对象 可选
            * @return entity
            */
            addPoint: function addPoint(lon, lat) {
                var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
                option.pixelSize = option.pixelSize ? option.pixelSize : 8;
                return Object(privateApi["c" /* addPoint */])(lon, lat, option);
            },

            /**
            * 添加扩散点
            * @param {Number} lon 经度 必填
            * @param {Number} lat 纬度 必填
            * @param {Object} option 配置对象 可选
            */
            addDiffusionPoint: function addDiffusionPoint(lon, lat) {
                var _Cesium$Color;

                var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
                var charoption = arguments.length > 3 ? arguments[3] : undefined;
                // 初始化color
                var color = option.color ? option.color : [255, 0, 0, 255];
                var size = 5,
                    flag = true,
                    gap = 0.2;
                var size2 = 35,
                    flag2 = true,
                    gap2 = 0.2;

                var Cesiumcolor = (_Cesium$Color = Cesium.Color).fromBytes.apply(_Cesium$Color, Object(toConsumableArray["a" /* default */])(color));

                var option1 = JSON.parse(JSON.stringify(option));
                option1.color = new Cesium.CallbackProperty(function () {
                    if (flag) {
                        size = size - gap;

                        if (size <= 8) {
                            flag = false;
                        }
                    } else {
                        size = size + gap;

                        if (size >= 50) {
                            size = 8;
                            flag = true;
                        }
                    }

                    return Cesiumcolor.withAlpha((50 - size) / 200 + 0.1);
                }, false);
                option1.outlineColor = new Cesium.CallbackProperty(function () {
                    if (flag) {
                        size = size - gap;

                        if (size <= 8) {
                            flag = false;
                        }
                    } else {
                        size = size + gap;

                        if (size >= 50) {
                            size = 8;
                            flag = true;
                        }
                    }

                    return Cesiumcolor.withAlpha((50 - size) / 200 + 0.1);
                }, false);
                option1.outlineWidth = 1;
                option1.pixelSize = new Cesium.CallbackProperty(function () {
                    if (flag) {
                        size = size - gap;

                        if (size <= 8) {
                            flag = false;
                        }
                    } else {
                        size = size + gap;

                        if (size >= 50) {
                            size = 8;
                            flag = true;
                        }
                    }

                    return size;
                }, false);

                var en1 = Object(privateApi["c" /* addPoint */])(lon, lat, option1);

                var option2 = JSON.parse(JSON.stringify(option));
                option2.color = new Cesium.CallbackProperty(function () {
                    if (flag2) {
                        size2 = size2 - gap2;

                        if (size2 <= 8) {
                            flag2 = false;
                        }
                    } else {
                        size2 = size2 + gap2;

                        if (size2 >= 50) {
                            size2 = 8;
                            flag2 = true;
                        }
                    }

                    return Cesiumcolor.withAlpha((50 - size2) / 200 + 0.1);
                }, false);
                option2.outlineColor = new Cesium.CallbackProperty(function () {
                    if (flag2) {
                        size2 = size2 - gap2;

                        if (size2 <= 8) {
                            flag2 = false;
                        }
                    } else {
                        size2 = size2 + gap2;

                        if (size2 >= 50) {
                            size2 = 8;
                            flag2 = true;
                        }
                    }

                    return Cesiumcolor.withAlpha((50 - size2) / 200 + 0.1);
                }, false);
                option2.outlineWidth = 1;
                option2.pixelSize = new Cesium.CallbackProperty(function () {
                    if (flag2) {
                        size2 = size2 - gap2;

                        if (size2 <= 8) {
                            flag2 = false;
                        }
                    } else {
                        size2 = size2 + gap2;

                        if (size2 >= 50) {
                            size2 = 8;
                            flag2 = true;
                        }
                    }

                    return size2;
                }, false);

                var en2 = Object(privateApi["c" /* addPoint */])(lon, lat, option2);

                var option3 = JSON.parse(JSON.stringify(option));
                option3.pixelSize = 8;

                var en3 = Object(privateApi["c" /* addPoint */])(lon, lat, option3);

                return [en1, en2, en3];
            },

            /**
            *
            * @param {Number} lon 经度 必填
            * @param {Number} lat 纬度 必填
            * @param {Object} charoption echarts 配置对象
            * @param {Object} option addBillboard配置对象
            */
            addEcharts: function addEcharts(lon, lat, charoption) {
                var option = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
                var entity = null;
                var canvasDom = document.createElement("canvas");
                canvasDom.width = option.width ? option.width : 100;
                canvasDom.height = option.height ? option.height : 100;
                var myChart = echarts_default.a.init(canvasDom);
                myChart.setOption(charoption);
                myChart.on();
                myChart.on("finished", function () {
                    var img = getImg(myChart);
                    entity = Object(privateApi["a" /* addBillboard */])(lon, lat, img, option);
                });

                function getImg(chart) {
                    return chart.getDataURL({
                        pixelRatio: 2
                    });
                }

                return entity;
            },

            /**
            * 菱形-跳动-旋转
            * @param {Number} lon 经度 必填
            * @param {Number} lat 纬度 必填
            * @param {String} colorList  颜色 可选
            */
            addPolygon: function addPolygon(lon, lat, colorList) {
                var sca = 30000;
                var scale = new Cesium.Cartesian3(sca, sca, 1.5 * sca); //模型矩阵

                var positionaa = Cesium.Cartesian3.fromDegrees(lon, lat, 0.0); // //加入场景

                var tetrahedronPrimitive = new mixinApi_TetrahedronPrimitive({
                    colorList: colorList,
                    viewer: viewer,
                    position: positionaa,
                    scale: scale,
                    type: "TRIANGLES"
                });
                viewer.scene.primitives.add(tetrahedronPrimitive);
                var tetrahedronPrimitiveOutline = new mixinApi_TetrahedronPrimitive({
                    colorList: colorList,
                    viewer: viewer,
                    position: positionaa,
                    scale: scale,
                    type: "LINES"
                });
                viewer.scene.primitives.add(tetrahedronPrimitiveOutline);
                return [tetrahedronPrimitiveOutline, tetrahedronPrimitive];
            },

            /**
            * 通过 Canvas 测量 文字宽度
            * @param {*} text 
            * @param {*} font 
            */
            getTextWidth: function getTextWidth(text, font) {
                // re-use canvas object for better performance
                var canvas = this.getTextWidth.canvas || (this.getTextWidth.canvas = document.createElement("canvas"));
                var context = canvas.getContext("2d");
                context.font = font;
                var metrics = context.measureText(text);
                return metrics.width;
            },
            // 把image 转换为 canvas对象  
            convertImageToCanvas: function convertImageToCanvas(image, city, num) {
                // 创建canvas DOM元素，并设置其宽高和图片一样   
                var canvas = document.createElement("canvas");
                var that = this;
                return new Promise(function (resolve, reject) {
                    var cityFont = "12px Microsoft YaHei";
                    var numFont = "bold 16px Microsoft YaHei";
                    var dep = 2;

                    image.onload = function () {
                        var width = that.getTextWidth(city, cityFont) + that.getTextWidth(num, numFont) + 25;
                        var height = image.height;
                        canvas.width = width * dep;
                        canvas.height = height * dep; // 坐标(0,0) 表示从此处开始绘制，相当于偏移。

                        var ctx = canvas.getContext("2d");
                        ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
                        ctx.scale(dep, dep);
                        ctx.rotate(Math.atan(15 * dep / canvas.width));
                        ctx.fillStyle = '#fff';
                        ctx.font = cityFont;
                        ctx.fillText(city, 14, (canvas.height - 5) / 2 / dep);
                        ctx.font = numFont;
                        ctx.fillText(num, that.getTextWidth(city, cityFont) + 16, (canvas.height - 0) / 2 / dep);
                        resolve(canvas);
                    };
                });
            },

            /**
            * 
            * @param {Number} xzqhdm 行政区代码
            * @param {Number} height 高度
            * @param {String} city 城市名
            * @param {Number} num 数字
            */
            addSheng: function addSheng(xzqhdm) {
                var _arguments = arguments,
                    _this = this;

                return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
                    var height, doubleClickPitch, city, num, _this$getLonLat, lon, lat, doubleClickHeight, img, canvas, attribute;

                    return regeneratorRuntime.wrap(function _callee$(_context) {
                        while (1) {
                            switch (_context.prev = _context.next) {
                                case 0:
                                    height = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : 0;
                                    doubleClickPitch = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : -90;
                                    city = _arguments.length > 3 ? _arguments[3] : undefined;
                                    num = _arguments.length > 4 ? _arguments[4] : undefined;
                                    _this$getLonLat = _this.getLonLat(xzqhdm), lon = _this$getLonLat.lon, lat = _this$getLonLat.lat;
                                    doubleClickHeight = _this.getFlyHeight(xzqhdm);
                                    img = document.createElement('img');
                                    img.src = "./img/bg.png";
                                    _context.next = 10;
                                    return _this.convertImageToCanvas(img, city, num);

                                case 10:
                                    canvas = _context.sent;
                                    attribute = {
                                        xzqhdm: xzqhdm,
                                        city: city,
                                        num: num
                                    };
                                    return _context.abrupt("return", _this.addBillboard(lon, lat, canvas, {
                                        name: 'sheng',
                                        click: false,
                                        shengClick: true,
                                        doubleClickHeight: doubleClickHeight,
                                        scale: 0.5,
                                        attribute: attribute,
                                        pointHeight: height,
                                        doubleClickPitch: doubleClickPitch
                                    }));

                                case 13:
                                case "end":
                                    return _context.stop();
                            }
                        }
                    }, _callee);
                }))();
            }
        }
    });
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js
    var es_symbol = __webpack_require__("a4d3");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.description.js
    var es_symbol_description = __webpack_require__("e01a");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.iterator.js
    var es_symbol_iterator = __webpack_require__("d28b");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js
    var es_string_iterator = __webpack_require__("3ca3");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js
    var web_dom_collections_iterator = __webpack_require__("ddb0");

    // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js







    function _typeof(obj) {
        "@babel/helpers - typeof";

        if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
            _typeof = function _typeof(obj) {
                return typeof obj;
            };
        } else {
            _typeof = function _typeof(obj) {
                return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
            };
        }

        return _typeof(obj);
    }
// CONCATENATED MODULE: ./src/mixinApi/location.js




/**
* 地图定位api
*/

/* harmony default export */ var mixinApi_location = ({
        methods: {
            /**
            * 获取坐标
            * @param {Number} xzqhdm 行政区划代码
            */
            getLonLat: function getLonLat(xzqhdm) {
                var city = Object(privateApi["d" /* getCityByxzqhdm */])(xzqhdm);
                return {
                    lon: city.lon,
                    lat: city.lat
                };
            },

            /**
            * 获取飞行高的（四至）
            * @param {Number} xzqhdm 行政区划代码
            */
            getFlyHeight: function getFlyHeight(xzqhdm) {
                var city = Object(privateApi["d" /* getCityByxzqhdm */])(xzqhdm);
                return Cesium.Rectangle.fromDegrees(city.X_MIN, city.Y_MIN, city.X_MAX, city.Y_MAX);
            },

            /**
            * 根据四至定位
            * @param {Number} xzqhdm 行政区划代码
            * @param {Number} heading 航向角（弧度）。
            * @param {Number} pitch 俯仰角（弧度）。
            */
            locationfourByxzqhdm: function locationfourByxzqhdm(xzqhdm) {
                var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
                var rectangle;

                if (_typeof(xzqhdm) === 'object') {
                    rectangle = xzqhdm;
                } else {
                    rectangle = this.getFlyHeight(xzqhdm);
                }

                this.entityByflyto = viewer.entities.add({
                    name: 'byFlyto',
                    rectangle: {
                        coordinates: rectangle,
                        material: Cesium.Color.RED.withAlpha(0.0)
                    }
                });
                options.range = false;
                return this.locationEntity(this.entityByflyto, options);
            },

            /**
            * 根据坐标定位
            * @param {Number} lon 经度 必填
            * @param {Number} lat 经度 必填
            * @param {Number} heading 航向角（弧度）。
            * @param {Number} pitch 俯仰角（弧度）。
            * @param {Number} range 距中心的距离，以米为单位 可选
            */
            locationByLonLat: function locationByLonLat(lon, lat) {
                var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
                this.entityByflyto = viewer.entities.add({
                    name: 'byFlyto',
                    position: Cesium.Cartesian3.fromDegrees(lon, lat),
                    point: {
                        show: true,
                        color: new Cesium.Color(0, 0, 0, 0.0),
                        outlineColor: new Cesium.Color(0, 0, 0, 0.0)
                    }
                });
                this.locationEntity(this.entityByflyto, options);
            },

            /**
            * 根据entity定位，定位后返回当前四至
            * @param {entity} entity entity实例 | entity实例数组
            * @param {Number} heading 航向角（弧度）。
            * @param {Number} pitch 俯仰角（弧度）。
            * @param {Number} range 距中心的距离，以米为单位。
            */
            locationEntity: function locationEntity(entity, _ref) {
                var _this = this;

                var _ref$heading = _ref.heading,
                    heading = _ref$heading === void 0 ? this.heading : _ref$heading,
                    _ref$pitch = _ref.pitch,
                    pitch = _ref$pitch === void 0 ? this.pitch : _ref$pitch,
                    _ref$range = _ref.range,
                    range = _ref$range === void 0 ? 5000 : _ref$range;
                var offset;

                if (Array.isArray(entity) || !range) {
                    offset = new Cesium.HeadingPitchRange(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch));
                } else {
                    offset = new Cesium.HeadingPitchRange(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), range);
                }

                return new Promise(function (resolve, reject) {
                    viewer.flyTo(entity, {
                        duration: 1,
                        offset: offset
                    }).then(function (res) {
                        if (res) {
                            resolve(_this.getBounds());
                            viewer.entities.remove(_this.entityByflyto);
                            _this.entityByflyto = {};
                        } else { }
                    });
                });
            },

            /**
            * 定位到中国
            */
            locationChain: function locationChain() {
                var heading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.0;
                var pitch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -90.0;
                var options = {
                    heading: heading,
                    pitch: pitch
                };
                this.locationfourByxzqhdm(100000, options);
            },

            /**
            * 设置场景
            */
            setViewType: function setViewType(viewType) {
                var scene = viewer.scene;

                switch (viewType) {
                    case "3d":
                        scene.morphTo3D(0);
                        break;

                    case "2d":
                        scene.morphTo2D(0);
                        break;

                    case "2.5d":
                        scene.morphToColumbusView(0);
                        break;

                    default:
                        break;
                }
            }
        }
    });
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js
    var es_array_filter = __webpack_require__("4de4");

// CONCATENATED MODULE: ./src/mixinApi/clear.js








/**
* 地图删除api
*/
/* harmony default export */ var clear = ({
        methods: {
            /**
            * 根据name删除entity
            * @param {String} name entity 的 name
            */
            clearEntityByname: function clearEntityByname(name) {
                var entityArr = viewer.entities.values;
                var CentityArr = entityArr.filter(function (v) {
                    if (v.name === name) {
                        return v;
                    }
                });
                var len = CentityArr.length;

                while (len--) {
                    viewer.entities.remove(CentityArr[len]);
                }
            },

            /**
            * 根据name删除DataSource
            * @param {Number}} name 名称
            */
            clearDataSourceByname: function clearDataSourceByname(name) {
                var dataSourceArr = viewer.dataSources.getByName(name);
                var len = dataSourceArr.length;

                while (len--) {
                    viewer.dataSources.remove(dataSourceArr[len]);
                }
            },

            /**
            * 删除primitive
            * @param {primitive} primitive 
            */
            clearPrimitive: function clearPrimitive(primitive) {
                var _this = this;

                console.log(primitive);

                if (Array.isArray(primitive)) {
                    primitive.forEach(function (v) {
                        _this.clearPrimitive(v);
                    });
                }

                viewer.scene.primitives.remove(primitive);
            }
        }
    });
    // EXTERNAL MODULE: ./src/mixinApi/line.js
    var line = __webpack_require__("ea65");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.fill.js
    var es_array_fill = __webpack_require__("cb29");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js
    var es_array_includes = __webpack_require__("caad");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js
    var es_array_slice = __webpack_require__("fb6a");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.constructor.js
    var es_regexp_constructor = __webpack_require__("4d63");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js
    var es_regexp_exec = __webpack_require__("ac1f");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js
    var es_regexp_to_string = __webpack_require__("25f0");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.includes.js
    var es_string_includes = __webpack_require__("2532");

    // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js
    var createForOfIteratorHelper = __webpack_require__("b85c");

    // EXTERNAL MODULE: ./src/privateApi/geo.json
    var geo = __webpack_require__("e0c3");

// CONCATENATED MODULE: ./src/mixinApi/plane.js





















/* harmony default export */ var plane = ({
        methods: {
            /**
            * 行政区划高亮
            * @param {Number} xzqhdm 行政区划代码
            * @param {Number} height 高度 默认值 0
            * @param {String} color 面颜色 默认值 "#0fa0ff"
            * @param {Number} colorAlpha 面颜色 透明度 默认值 0.4
            * @param {Number} outlineWidth 线宽度 默认值 4
            * @param {String} outlineColor 线颜色 默认值 "#00ffff"
            * @param {Number} outlineColorAlpha 线颜色 透明度 默认值 1
            * @param {Boolean} showLabel 是否显示 label 默认值 true
            * @param {Boolean} showLine 是否显示 line 默认值 true
            */
            xzqhLight: function xzqhLight(xzqhdm, _ref) {
                var _this = this;

                return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
                    var _dataSourceObj$value;

                    var _ref$height, height, _ref$color, color, _ref$colorAlpha, colorAlpha, _ref$outlineWidth, outlineWidth, _ref$outlineColor, outlineColor, _ref$outlineColorAlph, outlineColorAlpha, _ref$showLabel, showLabel, _ref$showLine, showLine, cityList, dataSourceObj, PromiseList, _iterator, _step, city, dataSourceList;

                    return regeneratorRuntime.wrap(function _callee$(_context) {
                        while (1) {
                            switch (_context.prev = _context.next) {
                                case 0:
                                    _ref$height = _ref.height, height = _ref$height === void 0 ? 0 : _ref$height, _ref$color = _ref.color, color = _ref$color === void 0 ? "#0fa0ff" : _ref$color, _ref$colorAlpha = _ref.colorAlpha, colorAlpha = _ref$colorAlpha === void 0 ? 0.4 : _ref$colorAlpha, _ref$outlineWidth = _ref.outlineWidth, outlineWidth = _ref$outlineWidth === void 0 ? 4 : _ref$outlineWidth, _ref$outlineColor = _ref.outlineColor, outlineColor = _ref$outlineColor === void 0 ? "#00ffff" : _ref$outlineColor, _ref$outlineColorAlph = _ref.outlineColorAlpha, outlineColorAlpha = _ref$outlineColorAlph === void 0 ? 1 : _ref$outlineColorAlph, _ref$showLabel = _ref.showLabel, showLabel = _ref$showLabel === void 0 ? true : _ref$showLabel, _ref$showLine = _ref.showLine, showLine = _ref$showLine === void 0 ? true : _ref$showLine;
                                    cityList = _this.getCityList(xzqhdm); // 返回的dataSourceObj

                                    dataSourceObj = {
                                        value: [],
                                        remove: function remove() {
                                            var len = this.value.length;

                                            while (len--) {
                                                viewer.dataSources.remove(this.value[len]);
                                            }
                                        }
                                    }; // 定义属性描述

                                    Object.defineProperty(dataSourceObj, 'show', {
                                        set: function set(newV) {
                                            this.value.forEach(function (v) {
                                                v.show = newV;
                                            });
                                        }
                                    });
                                    PromiseList = [];
                                    _iterator = Object(createForOfIteratorHelper["a" /* default */])(cityList);

                                    try {
                                        for (_iterator.s(); !(_step = _iterator.n()).done;) {
                                            city = _step.value;
                                            PromiseList.push(_this.addXzqhPlane(city, {
                                                height: height,
                                                color: color,
                                                colorAlpha: colorAlpha,
                                                outlineWidth: outlineWidth,
                                                outlineColor: outlineColor,
                                                outlineColorAlpha: outlineColorAlpha,
                                                showLabel: showLabel,
                                                showLine: showLine
                                            }));
                                        }
                                    } catch (err) {
                                        _iterator.e(err);
                                    } finally {
                                        _iterator.f();
                                    }

                                    _context.next = 9;
                                    return Promise.all(PromiseList);

                                case 9:
                                    dataSourceList = _context.sent;

                                    (_dataSourceObj$value = dataSourceObj.value).push.apply(_dataSourceObj$value, Object(toConsumableArray["a" /* default */])(dataSourceList));

                                    return _context.abrupt("return", dataSourceObj);

                                case 12:
                                case "end":
                                    return _context.stop();
                            }
                        }
                    }, _callee);
                }))();
            },

            /**
            * 获取下级城市数据
            */
            getCityList: function getCityList(xzqhdm) {
                var cityList;
                var specialCtiy = [110000, 310000, 120000, 500000];
                var twoCity = [810000, 820000]; // 根据xzqhdm在geo.json中查询下级数据，规则：xzqhdm是省，找省下的市。xzqhdm是市，找市下的区

                if (xzqhdm == 100000) {
                    // 国
                    cityList = geo.filter(function (v) {
                        if (v.xzqhDm.toString().includes("0000") && v.xzqhDm != xzqhdm) {
                            return v;
                        }
                    });
                } else if (xzqhdm.toString().includes("0000") && !specialCtiy.includes(xzqhdm) && !twoCity.includes(xzqhdm)) {
                    // 省 排除直辖市
                    var flag = xzqhdm.toString().slice(0, 2);
                    var provinceTest = new RegExp("^(".concat(flag, ")[0-9]*(00)$"));
                    cityList = geo.filter(function (v) {
                        if (provinceTest.test(v.xzqhDm) && v.xzqhDm != xzqhdm) {
                            return v;
                        }
                    });
                } else if (xzqhdm.toString().includes("00")) {
                    // 市
                    var _flag = xzqhdm.toString().slice(0, 4); // 直辖市


                    if (specialCtiy.includes(xzqhdm)) {
                        _flag = xzqhdm.toString().slice(0, 2) + "01";
                    } // 香港、澳门


                    if (twoCity.includes(xzqhdm)) {
                        _flag = xzqhdm.toString().slice(0, 2) + "00";
                    }

                    var _provinceTest = new RegExp("^(".concat(_flag, ")[0-9]*"));

                    cityList = geo.filter(function (v) {
                        if (_provinceTest.test(v.xzqhDm) && v.xzqhDm != xzqhdm) {
                            return v;
                        }
                    });
                }

                return cityList;
            },

            /**
            * 添加行政区划面
            */
            addXzqhPlane: function addXzqhPlane(city, _ref2) {
                var _this2 = this;

                return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
                    var _ref2$height, height, _ref2$color, color, _ref2$colorAlpha, colorAlpha, _ref2$outlineWidth, outlineWidth, _ref2$outlineColor, outlineColor, _ref2$outlineColorAlp, outlineColorAlpha, _ref2$showLabel, showLabel, _ref2$showLine, showLine, xzqhdm, lon, lat, name, url, promise, pos, dataSource;

                    return regeneratorRuntime.wrap(function _callee2$(_context2) {
                        while (1) {
                            switch (_context2.prev = _context2.next) {
                                case 0:
                                    _ref2$height = _ref2.height, height = _ref2$height === void 0 ? 0 : _ref2$height, _ref2$color = _ref2.color, color = _ref2$color === void 0 ? "#0fa0ff" : _ref2$color, _ref2$colorAlpha = _ref2.colorAlpha, colorAlpha = _ref2$colorAlpha === void 0 ? 0.4 : _ref2$colorAlpha, _ref2$outlineWidth = _ref2.outlineWidth, outlineWidth = _ref2$outlineWidth === void 0 ? 4 : _ref2$outlineWidth, _ref2$outlineColor = _ref2.outlineColor, outlineColor = _ref2$outlineColor === void 0 ? "#00ffff" : _ref2$outlineColor, _ref2$outlineColorAlp = _ref2.outlineColorAlpha, outlineColorAlpha = _ref2$outlineColorAlp === void 0 ? 1 : _ref2$outlineColorAlp, _ref2$showLabel = _ref2.showLabel, showLabel = _ref2$showLabel === void 0 ? true : _ref2$showLabel, _ref2$showLine = _ref2.showLine, showLine = _ref2$showLine === void 0 ? true : _ref2$showLine;
                                    xzqhdm = city.xzqhDm;
                                    lon = city.lon;
                                    lat = city.lat;
                                    name = city.city; // 通过xzqhdm 匹配json数据。

                                    url = "./json/".concat(xzqhdm, ".json");
                                    promise = Cesium.GeoJsonDataSource.load(url);
                                    _context2.next = 9;
                                    return _this2.getJson(url);

                                case 9:
                                    pos = _context2.sent;
                                    _context2.next = 12;
                                    return promise;

                                case 12:
                                    dataSource = _context2.sent;
                                    dataSource.name = xzqhdm;
                                    viewer.dataSources.add(dataSource); // 改变面颜色

                                    dataSource.entities.values.forEach(function (entity) {
                                        entity.polygon.material = Cesium.Color.fromCssColorString(color).withAlpha(colorAlpha);
                                        entity.polygon.height = height;
                                        entity.polygon.outline = false;
                                    }); // 添加线，label

                                    pos.features.forEach(function (feature) {
                                        var coordinates = feature.geometry.coordinates;
                                        var isMultiPolygon = false;
                                        coordinates.forEach(function (item) {
                                            var p;

                                            if (feature.geometry.type === 'MultiPolygon') {
                                                p = item[0];
                                            } else {
                                                p = item;
                                            }

                                            var arr = [];
                                            p.forEach(function (point) {
                                                arr.push(point[0]);
                                                arr.push(point[1]);
                                                arr.push(height + 1);
                                            });
                                            dataSource.entities.add({
                                                name: "lines",
                                                position: Cesium.Cartesian3.fromDegrees(lon, lat, height + 2),
                                                label: {
                                                    show: isMultiPolygon ? false : showLabel,
                                                    text: name,
                                                    font: "12px",
                                                    showBackground: true,
                                                    backgroundColor: Cesium.Color.fromCssColorString("#303133").withAlpha(1),
                                                    verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
                                                    HorizontalOrigin: Cesium.HorizontalOrigin.CENTER
                                                },
                                                polyline: {
                                                    show: showLine,
                                                    positions: Cesium.Cartesian3.fromDegreesArrayHeights(arr),
                                                    width: outlineWidth,
                                                    material: Cesium.Color.fromCssColorString(outlineColor).withAlpha(outlineColorAlpha)
                                                }
                                            });

                                            if (feature.geometry.type === 'MultiPolygon') {
                                                isMultiPolygon = true;
                                            }
                                        });
                                    });
                                    return _context2.abrupt("return", dataSource);

                                case 18:
                                case "end":
                                    return _context2.stop();
                            }
                        }
                    }, _callee2);
                }))();
            },

            /**
            * 行政区划边界高亮
            * @param {Number} xzqhdm 行政区划代码
            * @param {String} image 图片url
            * @param {Number} height 高度
            */
            xzqhLightWall: function xzqhLightWall(xzqhdm, image) {
                var _arguments = arguments,
                    _this3 = this;

                return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
                    var height, cityList, primitives, PromiseList, _iterator2, _step2, city, primitiveList;

                    return regeneratorRuntime.wrap(function _callee3$(_context3) {
                        while (1) {
                            switch (_context3.prev = _context3.next) {
                                case 0:
                                    height = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : 1000;
                                    cityList = _this3.getCityList(xzqhdm);
                                    primitives = [];
                                    PromiseList = [];
                                    _iterator2 = Object(createForOfIteratorHelper["a" /* default */])(cityList);

                                    try {
                                        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
                                            city = _step2.value;
                                            PromiseList.push(_this3.addLightWall(city.xzqhDm, image, height));
                                        }
                                    } catch (err) {
                                        _iterator2.e(err);
                                    } finally {
                                        _iterator2.f();
                                    }

                                    _context3.next = 8;
                                    return Promise.all(PromiseList);

                                case 8:
                                    primitiveList = _context3.sent;
                                    primitiveList.forEach(function (v) {
                                        primitives.push.apply(primitives, Object(toConsumableArray["a" /* default */])(v));
                                    });
                                    return _context3.abrupt("return", primitives);

                                case 11:
                                case "end":
                                    return _context3.stop();
                            }
                        }
                    }, _callee3);
                }))();
            },
            addLightWall: function addLightWall(xzqhdm, image) {
                var _arguments2 = arguments,
                    _this4 = this;

                return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
                    var height, primitives, url, jsonData;
                    return regeneratorRuntime.wrap(function _callee4$(_context4) {
                        while (1) {
                            switch (_context4.prev = _context4.next) {
                                case 0:
                                    height = _arguments2.length > 2 && _arguments2[2] !== undefined ? _arguments2[2] : 1000;
                                    primitives = [];
                                    url = "./json/".concat(xzqhdm, ".json");
                                    _context4.next = 5;
                                    return _this4.getJson(url);

                                case 5:
                                    jsonData = _context4.sent;
                                    jsonData.features.forEach(function (res) {
                                        res.geometry.coordinates.forEach(function (coordinate) {
                                            var p;

                                            if (res.geometry.type === 'MultiPolygon') {
                                                p = coordinate[0];
                                            } else {
                                                p = coordinate;
                                            }

                                            var max = new Array(p.length).fill(height);
                                            var min = new Array(p.length).fill(0);
                                            var positionsList = [];
                                            p.forEach(function (v) {
                                                v.forEach(function (x) {
                                                    positionsList.push(x);
                                                });
                                            });

                                            function PolylineTrailLinkMaterialProperty(color, duration) {
                                                this._definitionChanged = new Cesium.Event();
                                                this._color = undefined;
                                                this._colorSubscription = undefined;
                                                this.color = color;
                                                this.duration = duration;
                                                this._time = new Date().getTime();
                                            }

                                            Object.defineProperties(PolylineTrailLinkMaterialProperty.prototype, {
                                                isConstant: {
                                                    get: function get() {
                                                        return false;
                                                    }
                                                },
                                                definitionChanged: {
                                                    get: function get() {
                                                        return this._definitionChanged;
                                                    }
                                                },
                                                color: Cesium.createPropertyDescriptor("color")
                                            });

                                            PolylineTrailLinkMaterialProperty.prototype.getType = function (time) {
                                                return "PolylineTrailLink";
                                            };

                                            PolylineTrailLinkMaterialProperty.prototype.getValue = function (time, result) {
                                                if (!Cesium.defined(result)) {
                                                    result = {};
                                                }

                                                result.color = Cesium.Property.getValueOrClonedDefault(this._color, time, Cesium.Color.WHITE, result.color);
                                                result.image = appMaterial.PolylineTrailLinkImage;
                                                result.time = (new Date().getTime() - this._time) % this.duration / this.duration;
                                                return result;
                                            };

                                            PolylineTrailLinkMaterialProperty.prototype.equals = function (other) {
                                                return this === other || other instanceof PolylineTrailLinkMaterialProperty && Property.equals(this._color, other._color);
                                            };

                                            Cesium.PolylineTrailLinkMaterialProperty = PolylineTrailLinkMaterialProperty;
                                            var appMaterial = {};
                                            appMaterial.PolylineTrailLinkType = "PolylineTrailLink";
                                            appMaterial.PolylineTrailLinkImage = image;
                                            appMaterial.PolylineTrailLinkSource = "czm_material czm_getMaterial(czm_materialInput materialInput)\n\
                                                           {\n\
                                                               czm_material material = czm_getDefaultMaterial(materialInput);\n\
                                                               vec2 st = materialInput.st;\n\
                                                               vec4 colorImage = texture2D(image, vec2(fract(st.s - time), st.t));\n\
                                                               material.alpha = colorImage.a * color.a;\n\
                                                               material.diffuse = (colorImage.rgb+color.rgb)/2.0;\n\
                                                               return material;\n\
                                                           }";

                                            Cesium.Material._materialCache.addMaterial(appMaterial.PolylineTrailLinkType, {
                                                fabric: {
                                                    type: appMaterial.PolylineTrailLinkType,
                                                    uniforms: {
                                                        color: new Cesium.Color(1.0, 0.0, 0.0, 0.5),
                                                        image: appMaterial.PolylineTrailLinkImage,
                                                        time: 0
                                                    },
                                                    source: appMaterial.PolylineTrailLinkSource
                                                },
                                                translucent: function translucent(material) {
                                                    return true;
                                                }
                                            });

                                            var wall = new Cesium.WallGeometry({
                                                positions: Cesium.Cartesian3.fromDegreesArray(positionsList),
                                                maximumHeights: max,
                                                minimumHeights: min
                                            });
                                            var obj = new Cesium.Primitive({
                                                name: "动态立体墙",
                                                geometryInstances: new Cesium.GeometryInstance({
                                                    geometry: wall,
                                                    id: "radar"
                                                }),
                                                appearance: new Cesium.MaterialAppearance({
                                                    material: new Cesium.Material({
                                                        fabric: {
                                                            type: "Image",
                                                            uniforms: {
                                                                image: image
                                                            }
                                                        }
                                                    }),
                                                    translucent: true
                                                })
                                            });
                                            var primitive = viewer.scene.primitives.add(obj);
                                            primitives.push(primitive);
                                        });
                                    });
                                    return _context4.abrupt("return", primitives);

                                case 8:
                                case "end":
                                    return _context4.stop();
                            }
                        }
                    }, _callee4);
                }))();
            },
            getJson: function getJson(url) {
                return new Promise(function (resovle, reject) {
                    var request = new XMLHttpRequest();
                    request.open("get", url, true);
                    request.send(null);

                    request.onload = function () {
                        if (request.status === 200) {
                            var res = JSON.parse(request.responseText);
                            resovle(res);
                        } else {
                            reject(request.status);
                        }
                    };
                });
            }
        }
    });
    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js
    var es_array_map = __webpack_require__("d81d");

    // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js
    var es_array_reduce = __webpack_require__("13d5");

    // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js + 1 modules
    var objectSpread2 = __webpack_require__("5530");

// CONCATENATED MODULE: ./src/mixinApi/other.js








/**
* 辅助功能
*/

/* harmony default export */ var other = ({
        data: function data() {
            return {
                rotationRemove: null,
                isOpen: false
            };
        },
        methods: {
            getCity: function getCity(center, cityList) {
                var list = cityList.map(function (v) {
                    var left = Cesium.Cartesian3.fromDegrees(center.lon, center.lat);
                    var right = Cesium.Cartesian3.fromDegrees(v.lon, v.lat); // let right = Cesium.Cartesian3.fromDegrees((v.X_MAX + v.X_MIN) / 2, (v.Y_MAX + v.Y_MIN) / 2)

                    var distance = Cesium.Cartesian3.distance(left, right);

                    var item = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, v), {}, {
                        distance: distance
                    });

                    return item;
                });
                var bastCity = list.reduce(function (pre, cur) {
                    if (pre.distance > cur.distance) {
                        pre = cur;
                    }

                    return pre;
                }, {
                    distance: Infinity
                });

                if (bastCity.distance === Infinity) {
                    return undefined;
                }

                return bastCity;
            },

            /**
            * 根据 地区数组 和 当前屏幕四至 计算出包含在当前屏幕四至地区
            * @param {Array} bounds 当前屏幕四至
            * @param {Array} cityList 地区数组
            */
            getCenterCity: function getCenterCity(bounds, cityList) {
                var contentCity = cityList.filter(function (v) {
                    // 根据中心点距离判断两个矩形是否相交算法
                    var Xa1 = bounds.west;
                    var Xa2 = bounds.east;
                    var Ya1 = bounds.south;
                    var Ya2 = bounds.north;
                    var Xb1 = v.X_MIN;
                    var Xb2 = v.X_MAX;
                    var Yb1 = v.Y_MIN;
                    var Yb2 = v.Y_MAX;

                    if (Math.abs(Xb2 + Xb1 - Xa2 - Xa1) < Xa2 - Xa1 + Xb2 - Xb1 && Math.abs(Yb2 + Yb1 - Ya2 - Ya1) < Ya2 - Ya1 + Yb2 - Yb1) {
                        // 计算相交面积
                        var Xc1 = Math.max(Xa1, Xb1);
                        var Yc1 = Math.min(Ya2, Yb2);
                        var Xc2 = Math.min(Xa2, Xb2);
                        var Yc2 = Math.max(Ya1, Yb1); // 屏幕四至和地区四至相交面积

                        var XJarec = Math.abs(Xc1 - Xc2) * Math.abs(Yc1 - Yc2); // 地区四至面积

                        var REarec = Math.abs(Xb1 - Xb2) * Math.abs(Yb1 - Yb2);
                        var pre = XJarec / REarec;
                        v.pre = pre;
                        return v;
                    }
                }); // 找到包含地区

                var centerCity = contentCity.filter(function (v) {
                    if (v.pre === 1) return v;
                });
                return centerCity;
            },

            /**
            * 获取地址
            */
            getAddress: function getAddress() {
                var province, city; // 获取屏幕中心坐标

                var result = viewer.camera.pickEllipsoid(new Cesium.Cartesian2(viewer.canvas.clientWidth / 2, viewer.canvas.clientHeight / 2));

                if (!result) {
                    return;
                }

                var curPosition = Cesium.Ellipsoid.WGS84.cartesianToCartographic(result);
                var lon = curPosition.longitude * 180 / Math.PI;
                var lat = curPosition.latitude * 180 / Math.PI; // 屏幕中心

                var center = {
                    lon: lon,
                    lat: lat
                }; // 包含该坐标的所有 包含地区

                var allCityList = geo.filter(function (v) {
                    if (lon <= v.X_MAX && lon >= v.X_MIN && lat <= v.Y_MAX && lat >= v.Y_MIN) {
                        return v;
                    }
                });

                if (!allCityList.length) {
                    return;
                } // 市级 对直辖市香港、澳门、台湾特殊处理


                var cityList = allCityList.filter(function (v) {
                    var cityTest = /(00)$/;
                    var isXiangGang = /^(81|82|71|11|12|31|50)/;

                    if (cityTest.test(v.xzqhDm) || isXiangGang.test(v.xzqhDm)) {
                        return v;
                    }
                });
                console.log(cityList);

                if (!cityList.length) {
                    return;
                } // 屏幕中心最近的市


                city = this.getCity(center, cityList);
                console.log(city);
                var ShengGeoData = geo.slice(1, 35);
                province = ShengGeoData.filter(function (v) {
                    if (city.xzqhDm.toString().substring(0, 2) + '0000' == v.xzqhDm) {
                        return v;
                    }
                })[0];
                return {
                    province: province,
                    city: city
                };
            },
            emitAddress: function emitAddress() {
                var emit = this.getAddress();
                this.$emit('address', emit);
            },

            /**
            * 获取相机高度
            */
            getCameraHeight: function getCameraHeight() {
                return viewer.camera.positionCartographic.height;
            },

            /**
            * 实时emit相机高度
            */
            emitCameraHeight: function emitCameraHeight() {
                this.$emit('cameraHeigth', this.getCameraHeight());
            },

            /**
            * 获取屏幕四至
            */
            getBounds: function getBounds() {
                var ellipsoid = viewer.scene.globe.ellipsoid;
                var Rectangle = viewer.camera.computeViewRectangle(ellipsoid);

                if (Rectangle) {
                    var bounds = {
                        east: Cesium.Math.toDegrees(Rectangle.east),
                        north: Cesium.Math.toDegrees(Rectangle.north),
                        south: Cesium.Math.toDegrees(Rectangle.south),
                        west: Cesium.Math.toDegrees(Rectangle.west)
                    };
                    return bounds;
                }
            },

            /**
            * 实时emit屏幕四至
            */
            emitBounds: function emitBounds() {
                this.$emit('bounds', this.getBounds());
            },

            /**
            * 地球自转 
            * @param {*} flag true：自转 false：停止
            */
            rotation: function rotation() {
                var flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
                viewer.clock.multiplier = 200; //速度

                viewer.clock.shouldAnimate = true; // let clock = viewer.clock.tick

                var previousTime = viewer.clock.currentTime.secondsOfDay;

                function onTickCallback() {
                    viewer.clock.clockRange = Cesium.ClockRange.UNBOUNDED;
                    var spinRate = 1;
                    var currentTime = viewer.clock.currentTime.secondsOfDay;
                    var delta = (currentTime - previousTime) / 1000;
                    previousTime = currentTime;
                    viewer.scene.camera.rotate(Cesium.Cartesian3.UNIT_Z, -spinRate * delta);
                }

                if (flag) {
                    if (this.isOpen) {
                        return;
                    }

                    this.isOpen = true;
                    this.rotationRemove = viewer.clock.onTick.addEventListener(onTickCallback);
                } else {
                    if (!this.isOpen) {
                        return;
                    }

                    this.isOpen = false;
                    this.rotationRemove();
                }
            },
            // 切换底图
            changeBaseMap: function changeBaseMap(index) {
                if (index >= viewer.baseMapList.length) throw new Error("index error");
                var baseMap = viewer.baseMapList[index];
                viewer.imageryLayers.removeAll();
                viewer.imageryLayers.addImageryProvider(baseMap);
            },

            /**
            * 设置限制缩放大小
            * @param {Number} maximumZoom 最大缩放限度
            * @param {Number} minimumZoom 最小缩放限度
            */
            zoomSize: function zoomSize() {
                var maximumZoom = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 6000000;
                var minimumZoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
                viewer.scene.screenSpaceCameraController.minimumZoomDistance = minimumZoom;
                viewer.scene.screenSpaceCameraController.maximumZoomDistance = maximumZoom;
            }
        }
    });
// CONCATENATED MODULE: ./src/mixinApi/tileset.js

/* harmony default export */ var tileset = ({
        data: function data() {
            return {
                showTileset: true
            };
        },
        methods: {
            /**
            * tileset 模型
            * @param {Number} xzqhDm 行政区划代码
            */
            add3dTileset: function add3dTileset(dir, xzqhDm) {
                // 特效 默认开启
                Cesium.TILE_EFFECT_STAYE = true; // 片元着色器 默认 可以自定义

                Cesium.TILE_FS_BODY = "\n            // \u53EF\u4EE5\u4FEE\u6539\u7684\u53C2\u6570\n            // \u6CE8\u610Fshader\u4E2D\u5199\u6D6E\u70B9\u6570\u662F\uFF0C\u4E00\u5B9A\u8981\u5E26\u5C0F\u6570\u70B9\uFF0C\u5426\u5219\u4F1A\u62A5\u9519\uFF0C\u6BD4\u59820\u9700\u8981\u5199\u62100.0\uFF0C1\u8981\u5199\u62101.0\n            float _baseHeight = 0.0; // \u7269\u4F53\u7684\u57FA\u7840\u9AD8\u5EA6\uFF0C\u9700\u8981\u4FEE\u6539\u6210\u4E00\u4E2A\u5408\u9002\u7684\u5EFA\u7B51\u57FA\u7840\u9AD8\u5EA6\n            float _heightRange = 60.0; // \u9AD8\u4EAE\u7684\u8303\u56F4(_baseHeight ~ _baseHeight + _heightRange) \u9ED8\u8BA4\u662F 0-60\u7C73\n            float _glowRange = 300.0; // \u5149\u73AF\u7684\u79FB\u52A8\u8303\u56F4(\u9AD8\u5EA6)\n\n            // \u5EFA\u7B51\u57FA\u7840\u8272\n            float vtxf_height = v_stcVertex.z - _baseHeight;\n            float vtxf_a11 = fract(czm_frameNumber / 120.0) * 3.14159265 * 2.0;\n            float vtxf_a12 = vtxf_height / _heightRange + sin(vtxf_a11) * 0.1;\n            gl_FragColor *= vec4(vtxf_a12, vtxf_a12, vtxf_a12, 1.0);\n\n            // \u52A8\u6001\u5149\u73AF\n            float vtxf_a13 = fract(czm_frameNumber / 360.0);\n            float vtxf_h = clamp(vtxf_height / _glowRange, 0.0, 1.0);\n            vtxf_a13 = abs(vtxf_a13 - 0.5) * 2.0;\n            float vtxf_diff = step(0.005, abs(vtxf_h - vtxf_a13));\n            gl_FragColor.rgb += gl_FragColor.rgb * (1.0 - vtxf_diff);\n          "; // 加载3dtileset

                var tileset = new Cesium.Cesium3DTileset({
                    show: this.showTileset,
                    url: "".concat(dir, "/").concat(xzqhDm, "/tileset.json")
                });
                var primitive = viewer.scene.primitives.add(tileset);
                primitive.readyPromise.then(function (tile) {
                    tile.style = new Cesium.Cesium3DTileStyle({
                        color: {
                            conditions: [["true", "rgba(0, 125, 255, 1.0)"]]
                        }
                    });
                });
                return primitive;
            }
        }
    });
// CONCATENATED MODULE: ./src/mixinApi/index.js







/* harmony default export */ var mixinApi = ([point, mixinApi_location, clear, line["a" /* default */], plane, other, tileset]);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/source/wallmap.vue?vue&type=script&lang=js&





//
//
//
//
//
//
//
//
//
//
//



/* harmony default export */ var wallmapvue_type_script_lang_js_ = ({
        name: 'wallmap',
        mixins: mixinApi,
        props: {
            baseMapIndex: {
                type: Number,
                default: 0
            }
        },
        data: function data() {
            return {
                popContent: '<div>323232</div><div>323232</div><div>323232</div>',
                heading: 0.0,
                pitch: -90.0
            };
        },
        mounted: function mounted() {
            // 初始化，挂载viewer
            window.viewer = this.initMap();
            viewer.baseMapList = baseMapList; // 初始化弹窗，挂载到viewer

            viewer.pop = this.initPop(); // 添加点击监听

            var that = this;

            function callback(attribute, bound) {
                that.$emit('getPopupCon', attribute);

                if (bound) {
                    that.$emit('sheng', bound);
                }
            }

            Object(privateApi["h" /* watchSingleClick */])(callback); // 添加双击监听

            Object(privateApi["g" /* watchDoubleClick */])(callback, this); // 添加相机监听

            Object(privateApi["f" /* watchCamera */])(this.emitCameraHeight, this.emitBounds, this.emitAddress); // 定位到中国

            this.locationChain();
        },
        methods: {
            /**
            * 初始化地图
            * @return viewer 地图实例
            */
            initMap: function initMap() {
                //创建viewer实例
                Cesium.Ion.defaultAccessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI2N2UwZWU2Zi1jN2UzLTQ3YTAtOTZmNC05MzNkM2IxZDViMzgiLCJpZCI6MjY1MzgsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1ODc5MDQ0NTF9.lLpxvsIwB9Se5GeINW-jp5nm406S7KVWMdvH8swDHQ4";
                var viewer = new Cesium.Viewer("wallmapway", {
                    geocoder: false,
                    // 隐藏搜索
                    homeButton: false,
                    // 隐藏主页
                    sceneModePicker: false,
                    // 隐藏二三维转换
                    baseLayerPicker: false,
                    // 隐藏图层选择控件
                    navigationHelpButton: false,
                    // 隐藏帮助按钮
                    animation: false,
                    // 隐藏时钟
                    timeline: false,
                    // 隐藏时间轴
                    fullscreenButton: false,
                    // 隐藏全屏
                    vrButton: false,
                    // 隐藏双屏模式
                    infoBox: false,
                    // 隐藏点击 entity 信息框
                    selectionIndicator: false,
                    // 隐藏点击 entity 绿框
                    shouldAnimate: true,
                    // 设置底图
                    imageryProvider: baseMapList[this.baseMapIndex] // imageryProvider:  new Cesium.WebMapTileServiceImageryProvider({
                    //     url: "http://t0.tianditu.gov.cn/vec_w/wmts?tk=1d109683f4d84198e37a38c442d68311" ,
                    //     layer: "vec",
                    //     style: "default",
                    //     tileMatrixSetID: "w",
                    //     format: "tiles",
                    //     maximumLevel: 18,
                    // }),

                }); // 移除默认双击事件

                viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
                return viewer;
            },

            /**
            * 初始化弹窗
            */
            initPop: function initPop() {
                var that = this;
                var pop = {};
                var element = document.querySelector("#pop");

                function show(lon, lat, popContent, entity) {
                    this.lon = lon;
                    this.lat = lat;
                    that.popContent = popContent;
                    this.flog = true;
                    this.entity = entity;
                    this.element.style.display = 'block';
                }

                function hide() {
                    this.flog = false;
                    this.element.style.display = 'none';
                }

                pop.lon = 0;
                pop.lat = 0;
                pop.element = element;
                pop.show = show;
                pop.hide = hide;
                pop.entity = null;
                pop.flog = false; // 添加监听，动态改变pop位置

                var scratch = new Cesium.Cartesian2();
                var scene = viewer.scene;
                var camera = viewer.camera;
                var earthH = document.querySelector("#wallmapway").clientHeight; // 闭包变量

                var imgSrc = null;
                var imgH = 0;

                function getImgHeight(img) {
                    return new Promise(function (resolve, reject) {
                        var image = new Image(); // 如果有img，imgH缓存 直接返回，减小移动缓冲

                        if (img === imgSrc && imgH) {
                            resolve(imgH);
                        } else {
                            image.src = img;

                            image.onload = function () {
                                imgSrc = img;
                                imgH = image.height;
                                resolve(image.height);
                            };
                        }
                    });
                }

                scene.preRender.addEventListener( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
                    var position, canvasPosition, imgHeight, img, scale, scaleValue, height, heightValue, e, i, n;
                    return regeneratorRuntime.wrap(function _callee$(_context) {
                        while (1) {
                            switch (_context.prev = _context.next) {
                                case 0:
                                    earthH = document.querySelector("#wallmapway").clientHeight;
                                    position = Cesium.Cartesian3.fromDegrees(pop.lon, pop.lat);
                                    canvasPosition = scene.cartesianToCanvasCoordinates(position, scratch);

                                    if (!Cesium.defined(canvasPosition)) {
                                        _context.next = 24;
                                        break;
                                    }

                                    imgHeight = 30; // 根据image，scale，height计算高度偏差

                                    if (!(pop.entity && pop.entity._billboard && pop.entity._billboard._image)) {
                                        _context.next = 21;
                                        break;
                                    }

                                    img = pop.entity._billboard._image._value;
                                    scale = pop.entity._billboard._scale;
                                    scaleValue = scale ? scale._value ? scale._value : 1 : 1;
                                    height = pop.entity._billboard._height;
                                    heightValue = pop.entity._billboard._height ? pop.entity._billboard._height._value ? pop.entity._billboard._height._value : undefined : undefined;

                                    if (!heightValue) {
                                        _context.next = 15;
                                        break;
                                    }

                                    imgHeight = heightValue * scaleValue + 10;
                                    _context.next = 21;
                                    break;

                                case 15:
                                    _context.next = 17;
                                    return getImgHeight(img);

                                case 17:
                                    _context.t0 = _context.sent;
                                    _context.t1 = scaleValue;
                                    _context.t2 = _context.t0 * _context.t1;
                                    imgHeight = _context.t2 + 10;

                                case 21:
                                    pop.element.style.left = canvasPosition.x + "px";
                                    pop.element.style.bottom = earthH - canvasPosition.y + imgHeight + "px";
                                    /* 此处进行判断**/

                                    if (pop.flog) {
                                        e = position, i = camera.position, n = scene.globe.ellipsoid.cartesianToCartographic(i).height;

                                        if (!(n += 1 * scene.globe.ellipsoid.maximumRadius, Cesium.Cartesian3.distance(i, e) > n)) {
                                            pop.element.style.display = "block";
                                        } else {
                                            pop.element.style.display = "none";
                                        }
                                    }

                                case 24:
                                case "end":
                                    return _context.stop();
                            }
                        }
                    }, _callee);
                })));
                pop.hide();
                return pop;
            },

            /**
            * 关闭弹窗
            */
            close: function close() {
                if (viewer.pop && viewer.pop.hide) {
                    viewer.pop.hide();
                }
            }
        }
    });
// CONCATENATED MODULE: ./src/source/wallmap.vue?vue&type=script&lang=js&
/* harmony default export */ var source_wallmapvue_type_script_lang_js_ = (wallmapvue_type_script_lang_js_);
    // EXTERNAL MODULE: ./src/source/wallmap.vue?vue&type=style&index=0&id=5c647229&lang=scss&scoped=true&
    var wallmapvue_type_style_index_0_id_5c647229_lang_scss_scoped_true_ = __webpack_require__("3a96");

    // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
    /* globals __VUE_SSR_CONTEXT__ */

    // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
    // This module is a runtime utility for cleaner component module output and will
    // be included in the final webpack user bundle.

    function normalizeComponent(
        scriptExports,
        render,
        staticRenderFns,
        functionalTemplate,
        injectStyles,
        scopeId,
        moduleIdentifier, /* server only */
        shadowMode /* vue-cli only */
    ) {
        // Vue.extend constructor export interop
        var options = typeof scriptExports === 'function'
            ? scriptExports.options
            : scriptExports

        // render functions
        if (render) {
            options.render = render
            options.staticRenderFns = staticRenderFns
            options._compiled = true
        }

        // functional template
        if (functionalTemplate) {
            options.functional = true
        }

        // scopedId
        if (scopeId) {
            options._scopeId = 'data-v-' + scopeId
        }

        var hook
        if (moduleIdentifier) { // server build
            hook = function (context) {
                // 2.3 injection
                context =
                    context || // cached call
                    (this.$vnode && this.$vnode.ssrContext) || // stateful
                    (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
                // 2.2 with runInNewContext: true
                if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
                    context = __VUE_SSR_CONTEXT__
                }
                // inject component styles
                if (injectStyles) {
                    injectStyles.call(this, context)
                }
                // register component module identifier for async chunk inferrence
                if (context && context._registeredComponents) {
                    context._registeredComponents.add(moduleIdentifier)
                }
            }
            // used by ssr in case component is cached and beforeCreate
            // never gets called
            options._ssrRegister = hook
        } else if (injectStyles) {
            hook = shadowMode
                ? function () {
                    injectStyles.call(
                        this,
                        (options.functional ? this.parent : this).$root.$options.shadowRoot
                    )
                }
                : injectStyles
        }

        if (hook) {
            if (options.functional) {
                // for template-only hot-reload because in that case the render fn doesn't
                // go through the normalizer
                options._injectStyles = hook
                // register for functional component in vue file
                var originalRender = options.render
                options.render = function renderWithStyleInjection(h, context) {
                    hook.call(context)
                    return originalRender(h, context)
                }
            } else {
                // inject component registration as beforeCreate hook
                var existing = options.beforeCreate
                options.beforeCreate = existing
                    ? [].concat(existing, hook)
                    : [hook]
            }
        }

        return {
            exports: scriptExports,
            options: options
        }
    }

    // CONCATENATED MODULE: ./src/source/wallmap.vue






    /* normalize component */

    var component = normalizeComponent(
        source_wallmapvue_type_script_lang_js_,
        render,
        staticRenderFns,
        false,
        null,
        "5c647229",
        null

    )

/* harmony default export */ var wallmap = (component.exports);
    // CONCATENATED MODULE: ./src/index.js




    var components = [wallmap];

    var install = function install(Vue) {
        components.forEach(function (v) {
            Vue.component(v.name, v);
        });
    };

/* harmony default export */ var src_0 = ({
        install: install
    });
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js


/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (src_0);




}